package com.kexilo.core.security.service;

import com.kexilo.core.security.dto.UserDTO;
import java.util.Set;

/**
 * 用户服务接口 - 认证专用最小化版本
 * 只包含用户认证必需的方法
 * 
 * @author Kexilo
 */
public interface IUserService {
    
    /**
     * 通过用户名查询用户（认证专用）
     * 
     * @param userName 用户名
     * @return 用户DTO对象
     */
    UserDTO selectUserDTOByUserName(String userName);
    
    /**
     * 通过用户ID查询用户（认证专用）
     * 
     * @param userId 用户ID
     * @return 用户DTO对象
     */
    UserDTO selectUserDTOById(Long userId);
    
    /**
     * 获取用户权限
     * 
     * @param userId 用户ID
     * @return 权限集合
     */
    Set<String> getUserPermissions(Long userId);
}
